﻿#define _CRT_SECURE_NO_WARNINGS  1
#pragma warning(disable:6031)

//给你一个整数数组 nums ，请计算数组的 中心下标 。
//
//数组 中心下标 是数组的一个下标，其左侧所有元素相加的和等于右侧所有元素相加的和。
//
//如果中心下标位于数组最左端，那么左侧数之和视为 0 ，因为在下标的左侧不存在元素。这一点对于中心下标位于数组最右端同样适用。
//
//如果数组有多个中心下标，应该返回 最靠近左边 的那一个。如果数组不存在中心下标，返回 - 1
//
//来源：力扣（LeetCode）
//链接：https ://leetcode.cn/problems/find-pivot-index
//著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。

#include <stdio.h>

int pivotIndex(int* nums, int numsSize)
{
    int l_sum = 0;
    int r_sum = 0;
    int i = 0;

    for (i = 1; i < numsSize; i++)
    {
        r_sum += nums[i];
    }
    if (l_sum == r_sum)
    {
        return 0;
    }

    i = 1;
    while (l_sum != r_sum && i < numsSize)
    {
        l_sum += nums[i - 1];
        r_sum -= nums[i];
        if (l_sum == r_sum)
        {
            return i;
        }
        i++;
    }
    return -1;
}

int main()
{
    int nums[10] = { 0 };
    int sz = sizeof(nums) / sizeof(nums[0]);
    int i = 0;

    for (i = 0; i < sz; i++)
    {
        scanf("%d", &nums[i]);
    }

    int ret = pivotIndex(nums, sz);
    if (ret != -1)
    {
        printf("%d", ret);
    }
    else if (ret == -1)
    {
        printf("%d", ret);
    }
    return 0;
}